<?php namespace Admin\Controller; 
use Common\Model\Category;
/**
 * 分类控制器
 */
class CategoryController extends CommonController{
    private $db;
    // 构造函数
  	public function __init()
  	{
      $this->db=new Category;
      // 父级的构造函数
  		parent::__init();
  	}
    /**
     * 主页显示
     */
    public function index(){
      // 将获取的所有数据以csort 倒序 排列
      $data=$this->db->orderBy('csort','desc')->get();
      // 以树状图的方式排列
      $data=Data::tree($data,'cname','cid','pid');
      // 分配数据
      View::with('data',$data);
      // 显示模版
      View::make();
    }
    /**
     * 添加分类
     */
    public function add(){
      if (IS_POST) {
        // 调取category模型中的store()添加分类方法
        $res=$this->db->store();
        // 返回的数据给ajax
        if (!$res) {
          echo json_encode(array('status'=>true,'message'=>'添加失败'));die;
        }else{
          echo json_encode(array('status'=>true,'message'=>'添加成功'));die;
        }
      }
      View::make();
    }
    /**
     * 添加子类
     */
    public function addSon(){
      if (IS_POST) {
        // 调取category模型中的store()添加分类方法
        $res=$this->db->store();
        // 返回的数据给ajax
        if (!$res) {
          echo json_encode(array('status'=>true,'message'=>'添加失败'));die;
        }else{
          echo json_encode(array('status'=>true,'message'=>'添加成功'));die;
        }
      }
      // 点击编辑的时候是先走的GET传输方式，不走上面的POST传输方式
      // 点击提交表单的时候 先传到AJAX AJAX用POST方式传到U('Category/addson')，然后走POST传输方式
      // 获取点击的cid
      $cid=$_GET['cid'];
      // 获取内用为cid的数据
      $fatherdata=$this->db->where('cid',$cid)->find();
      // 分配数据
      View::with('fatherdata',$fatherdata);
      View::make();
    }
    /**
     * 编辑分类
     */
    public function edit(){
      if(IS_POST){
        // 调用category里的edit修改方法
        $res=$this->db->edit();
        // 返回的数据给ajax
        if (!$res) {
          echo json_encode(array('status'=>false,'message'=>'添加失败'));die;
        }else{
          echo json_encode(array('status'=>true,'message'=>'添加成功'));die;
        }
      }
      // 获取点击编辑的$_GET['cid']
      $cid=$_GET['cid'];
      // 获取内容为$cid数据，分配显示
      $olddata=$this->db->where('cid',$cid)->find();
      View::with('olddata',$olddata);
      // 获取category表内的所有内容
      $data=$this->db->get();
      // 筛选其子类，获取其他分类名称
      $catedata=$this->db->getFdata($data,$cid);
//    默认选中它的父级
//    {{if value="$v['cid']==$oldData['pid']"}}selected{{endif}}
//    将其他分类名称分配显示
      View::with('catedata',$catedata);
      View::make();
    }
    /**
     * 删除分类
     */
    public function del(){
//    $cid=isset($_GET['cid'])?(int)$_get['cid']:0;
//    Q函数 接受所有请求参数 request['get,post cookie'];
      $cid=Q('get.cid',0,'intval');
      $res=$this->db->del($cid);
      if (!$res) {
          View::error('删除失败');
      }else{
          View::success('删除成功');
      }
     
    }



}
?>